Determinacy Driven Optimizations of And-Parallel Prolog Implementations
نویسندگان
چکیده
And-parallelism arises in Prolog programs when conjunctive subgoals in a query or the body of a clause are executed in parallel. In this paper we present three optimizations, namely, the last parallel call optimization, the shallow parallelism optimization, and the processor determinacy optimization that take advantage of determinacy to improve eeciency of and-parallel execution of Prolog programs. All three optimizations depend on a posteriori knowledge of determinacy rather than on a priori knowledge detected at compile-time. With the help of these optimizations, data-and parallel Prolog programs can be eeciently executed on very general and-parallel system (such as &ACE and &-Prolog) with the eeciency of dedicated data-and parallel systems (such as Reform Prolog system). These optimizations have been implemented in the &ACE system, and the results are also presented.
منابع مشابه
QD-Janus: a Sequential Implementation of Janus in Prolog
Janus is a language designed for distributed constraint programming. This paper describes QDJanus, a sequential implementation of Janus in Prolog. The compiler uses a number of novel analyses and optimizations to improve the performance of the system. The choice of Prolog as the target language for a compiler, although unusual, is motivated by the following: (i) the semantic gap between Janus a...
متن کاملAn Abstract Machine for Restricted AND-Parallel Execution of Logic Programs
Although the sequential execution speed of logic programs has been greatly improved by the concepts introduced in the Warren Abstract Machine (WAM), parallel execution represents the only way to increase this speed beyond the natural limits of sequential systems. However, most proposed parallel logic programming execution models lack the performance optimizations and storage efficiency of seque...
متن کاملAnalysis and Optimization of CHR Programs
Introduction. Constraint Handling Rules (CHR) [2] is a high-level, powerful, yet relatively simple “no box” CLP language, embedded in a host language, commonly Prolog. It is based on multi-headed committed-choice rules. Recent implementations of CHR consist of a compiler which translates a CHR program to host language code, and a run-time system implementing the constraint store. Originally, CH...
متن کاملExperimenting with Independent And-Parallel Prolog using Standard Prolog
This paper presents an approximation to the study of parallel systems using sequential tools. The Independent And-parallelism in Prolog is an example of parallel processing paradigm in the framework of logic programming, and implementations like &-Prolog uncover the potential performance of parallel processing. But this potential can also be explored using only sequential systems. Being the spi...
متن کاملEfficient Backtracking in And-Parallel Implementations of Non-deterministic Languages
We consider the problem of eeciently supporting backtracking in independent and-parallel non-deterministic systems. We consider this problem in the context of logic programming, although the solution proposed is suuciently general to be applicable to any non-deterministic language or system. EEcient implementation of backtracking is a diicult task, the primary reason being that backtracking is ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995